
import { createStore } from 'vuex'
// 数据持久化存储

import createPersistedstate from 'vuex-persistedstate'

// 导入子模块
import user from './modules/user.js'
import category from './modules/category.js'
export default createStore({
  state: {
  },
  getters: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    user,
    category
  },
  plugins: [
    // 方案一：
    // createPersistedstate({
    //   key: 'rabbit',
    //   paths: ['user', `${category.list}`] // 是一个数组，内容代表需要被自动持久化的模块的名字；如果是模块下具体的数据需要加上模块名称，如user.token

    // })
    createPersistedstate({
      storage: window.sessionStorage,
      reducer (val) {
        return {
          // 制定持久化存储的数据
          assessmentData: val.assessmentData
        }
      }

    })
  ]
})
// vue3中使用createStore来创建vuex实例
// vue3直接从vuex中引入createStore方法来使用
// vue2中使用new Vuex.Store来创建Vuex实例
// Vue2中需要引入Vue 和Vuex 然后利用Vue.use(Vuex)使用 Vuex插件  之后使用new Vuex.Store创建Vuex实例
